export default {
    namespaced: true,
    state: {
        //本地读取token
        token: uni.getStorageSync('token'),
        userInfo: uni.getStorageSync('userInfo')
    },
    mutations: {
        //1.设置token
        setToken(state, data) {
            //设置给state
            state.token = data
            //存到本地
            uni.setStorageSync('token', data)
        },
        //2.设置用户资料
        setUserInfo(state, data) {
            //设置给state
            state.userInfo = data
            //存到本地
            uni.setStorageSync('userInfo', data)
        }
    },
    actions: {
        //微信登录
        wxLoginAction(context) {
            // 调用uni.login 获取登录凭证code，提交给服务器端
            uni.login({
                success: async (res) => {
                    console.log('-------------', res);
                    // 1. 获取token
                    let result = await uni.$http.post('/auth/loginByWeixin', {
                        code: res.code
                    })
                    // console.log('获取token',result)
                    //存token
                    context.commit('setToken', result.token)
                    // 2. 获取用户信息
                    let result2 = await uni.$http.get('/user/profile')
                    // console.log('获取用户信息',result2);
                    //存用户信息
                    context.commit('setUserInfo', result2)

                    //登录的时候要展示购物车对应的角标信息,获取购物车信息
                    context.dispatch('cart/getInitData', null, {
                        root: true //代表是tab页面
                    })
                },
                fail: (err) => {
                    console.log(err);
                }
            })
        }
    },
}
